1. Field of the Invention
The invention relates generally to antenna pointing systems and more specifically to using elements of the global positioning system (GPS) to provide azimuth and elevation information so that a directional antenna can be quickly and accurately pointed at its intended target location.
2. Description of the Prior Art
During the recent war with Iraq, many people saw Peter Arnet of CNN file live reports from Bagdad, Iraq, by a mobile telephone that directly accesses an orbiting communications satellite. Very often, a small parabolic dish antenna could be seen that had been set up behind Mr. Arnet. The initial set up and positioning of such antennas is a tedious and time consuming job. In some situations, such as news reporting, very little time is available.
Dish antennas work at very high frequencies and the dish reflects signals in a very narrow beam, much like a search light reflector. The beam is very narrow, and to communicate with a satellite, the dish has to be positioned within a few degrees. Since orbiting satellites are for all practical purposes invisible to the naked eye from the ground, it is not possible to aim a dish by sight. If the location of the dish and satellite are known, however, it is possible to set the azimuth and elevation of the dish so that it points right. But good three-dimensional attitude information is difficult to achieve, compasses and levels are simply not accurate enough.
Other antenna types which have high directionality have the same problem of accurate pointing to a target which cannot be seen.
Using GPS for Determining Azimuth and Elevation
The United States Department of Defense has placed in orbit a group of satellites, as part of a Global Positioning System (GPS), that can be used by civilians and the military alike to get automated and highly-accurate earth position coordinates on easy to read digital displays. Determining where you are has been a particular problem for seafarers for thousands of years. Now, GPS enables small sailboat owners and even combat soldiers to get their positions to within several meters using handheld portable equipment. GPS can also be used to determine attitude, meaning the direction of pointing.
(A large part of the following background has been taken from a paper titled "Expanding the Performance Envelope of GPS-Based Attitude Determination," by Clark E. Cohen and Bradford W. Parkinson, as published in ION GPS, Albuquerque, N. Mex., Sept. 9-13, 1991).
GPS-based attitude determination offers significant cost savings in applications where inertial guidance has traditionally been the standard approach. Attitude is measured by differential measurements of GPS carrier phase between two or more antennas. Performance may be characterized in terms of accuracy and bandwidth, both being dependant on applications specific parameters, such as the antenna spacing and the carrier-to-noise ratio.
Factors which limit performance are multipath, carrier-to-noise ratio, and integer resolution. Techniques are available for working around multipath and increasing the bandwidth of differential carrier phase tracking. A family of new "Eigenaxis" methods for resolving the integer ambiguities can be used. Real-time processing techniques make possible survey-level accuracy attitude determinations in high dynamic applications (such as high performance jet aircraft), based exclusively on GPS.
Accuracy and Multipath
By far the largest impediment to accuracy of carrier phase measurements is multipath signal interference. At least four approaches are useful for multipath:
rejecting multipath with antenna pattern shaping; PA1 diluting multipath with larger antenna separation; PA1 calibrating out repeatable multipath; and PA1 filtering out multipath in static environments.
Each has its place and advantages, as discussed below. Filtering or averaging out multipath is also possible, even though not discussed in detail here.
Antenna Pattern Shaping
An antenna usually receives a direct ray from a GPS satellite. Unwanted reflections, resulting in multipath signals with longer transit times, are ideally attenuated by the antenna's insensitivity to signals coming from other directions. Carrier phase measurements can indirectly measure the direction of origin of the incident wave fronts from a GPS satellite. A direct, unobstructed line-of-sight between a satellite and an antennas is needed. This kind of spatial filtering is practical in many application environments. Antenna pattern shaping can include polarization parameters, depending on the composition of the reflective materials.
In practice, it is very difficult to build a sharp cutoff in an antenna pattern. Pattern shapes are governed by the Fourier transform relationship between the far field pattern P (n,m) and the aperture distribution E(.xi.,.eta.) of the antenna: ##EQU1##
Most antennas have a slow cutoff, an angle near the horizon only aggravates multipath for incident rays that typically come from low elevations.
The measured phase is the sum of a direct phase and a resultant of all the reflected rays received by an antenna. The relative amplitude attenuation for the multipath error is roughly the square root of the relative antenna gain between the direct and reflected rays.
Antenna pattern shaping influences multipath rejection plots of L1 carrier amplitude versus time for two antennas of different directivity, with a satellite that passes within five degrees of zenith. The signal strength from an antenna is just as effective an indicator of multipath sensitivity as differential phase.
Increasing Baseline Length
The antenna separation can be used to increase accuracy. The angular pointing error dx is given in terms of the relative ranging error .sigma..sub..theta. and the baseline length L as ##EQU2##
Even with standard omni-directional patch antennas in difficult multipath environments (relative range errors up to 5 mm RMS), antenna separation on the order of meters is sufficient to get pointing accuracies in the milliradian level.
Increasing the baseline length compounds two problems, integer ambiguity resolution and differential phase tracking. The number of integer combinations compatible with a given set of differential phase measurements grows rapidly with baseline length. Furthermore, the change in differential phase due to an angular change in attitude grows in sensitivity with baseline length. Therefore tracking fast movements becomes more difficult.
Integer ambiguity resolution is discussed below. The problem of rapid changes in differential phase may be solved by tracking differential phase through feedback, see below. The two problems are related, tracking integer wraparounds in the loop greatly simplifies the process of both initially resolving the integers, and holding on to them once they are determined.
Multipath Calibration
In many applications, especially in aerospace, the multipath environments are highly repeatable. This is demonstrated in the difference between two sets of differential phase data measured exactly two days apart as a GPS satellite traverses the same arc across the sky. The repeatability between the multipath signatures is a fraction of a millimeter RMS. Cohen and Parkinson have shown that in repeatable environments it is possible to calibrate out the effects of multipath and to recover the inherent sub-millimeter accuracy of the GPS signal, in real-time.
Integer Ambiguity Resolution
Integer resolution is a significant performance issue for attitude determination. It is clear that for attitude determination with GPS to be viable, the integers must be resolvable quickly and reliably under all conditions.
An important element of attitude determination is the separation between translational and rotational degrees of freedom. The choice of a reference point on a platform can be completely arbitrary, if kinematic considerations alone govern the separation of translation and attitude. Platform translation can be effectively removed from a differential measurement.
For example, a platform with a single baseline can be constructed from two antennas, a master and a slave. Without any loss of generality, a location of the master antenna may be chosen as a fixed reference point. The possible positions of the slave antenna are constrained to lie on the surface of a virtual sphere of a radius equal to the baseline length.
There are numerous methods for resolving integer ambiguities including integer searches, multiple antennas, multiple GPS observables, motion-based approaches, and external aiding.
Although search techniques work well for smaller baselines (on the order of a couple of carrier wavelengths) they often require significant computation time and are vulnerable to erroneous solutions when longer baselines are used or when fewer satellites are visible. Reliability improves considerably as more antennas are added. Carried to an extreme, a phased array would result whereby the integers would be completely unambiguous and searching would be unnecessary. The question is, how many antennas are required to quickly and unambiguously resolve the integers, even in the presence of noise?
One method for integer resolution is to make use of the other observables that modulate the GPS timer. Pseudo-random code can be used as a coarse indicator of differential range, although it is much more susceptible to multipath problems. Differentiating carriers L1 and L2 provides a longer effective wavelength, and reduces the search space. However, dual frequency receivers are expensive because they are more complicated.
Motion-based integer resolution algorithms make use of additional information provided by platform or satellite motion. A key advantage is that few antennas are required to resolve the integers unambiguously. The following section describes a new set of such motion-based methods.
Eigenaxis Integer Resolution Methods
An abundance of information which is useful in integer resolution comes from the attitude motion of the platform itself. With an appropriate antenna configuration, only a little platform motion is required (even if L&gt;&gt;A). Some motion-based techniques have already been reported in the literature. A set of mathematical methods, below, are useful in reducing raw phase measurements into integer biases, rapidly and accurately, based on only a small angle of motion. These methods are grouped together as "eigenaxis," because they all find a unique axis in space that reveals the platform attitude and, thus, the integer ambiguities.
Mathematically, the antenna geometry constraints may be handled by reducing the attitude parameterization to a function of three independent variables (such as azimuth, pitch, and roll). An alternate formulation, treats baselines as Cartesian vectors subject to length and relative orientation constraints.
The measured differential phase (relative satellite range) .DELTA.r (measured in wavelengths) is proportional to the projection of the baseline vector x (measured in wavelengths) into the line of sight unit vector to the satellite s for a baseline i and a satellite j: EQU .DELTA.r.sub.ij =s.sup.T.sub.j x.sub.i -k.sub.ij +b.sub.i +noise
The measurement .DELTA.r is subject to all additive line bias b (0.ltoreq.b.ltoreq.1) all integer ambiguity k and measurement noise. This relationship may be expressed in compact vector and matrix notation for the n satellites in view: EQU .DELTA.r.sub.i =Sx.sub.i -k.sub.i +b.sub.i +noise
The line bias "b" is still a scalar, since it is assumed that there are no inter-channel biases.
Given a favorable PDOP only three satellites are required to determine the relative location of slave antenna undergoing motion. This is one fewer than the four satellites required for kinematic survey since the differencing operation between antennas is performed immediately against the common oscillator in the receiver hardware.
Suppose a baseline moves by a small angle from Cartesian Position X.sub.0 to x. It is assumed that the platform angular motion is very much faster than that of the satellite line-of-sight vectors. The measured change in differential phase is given by: EQU .DELTA.r-.DELTA.r.sub.0 S(c-x.sub.0)=Sdx.
Since the line bias and integer ambiguity cancel out of the above expression one can solve for the vector dx explicitly. For convenience, the baseline length is normalized to Unity. A sequence of m measurements from different times is concatenated together to form a matrix: of delta Cartesian positions, ##EQU3##
The mean is subtracted such that dX represents deviations from a "nominal" baseline location. For small angle motion, the vectors dx.sup.(k) collectively define a plane which is normal to xo, the baseline vector. Ideally, the null space of dX.sup.T is exactly the previously unknown baseline vector (subject to a sign ambiguity).
Mathematically, the derivative of the length constraint x.sup.T x=1 is 2dx.sup.T x=0. Therefore, dx.sup.T x=0. The presence of noise on the differential phase measurements effectively guarantees that dxT will be full rank. However, it is relatively straight forward to make an appropriate determination of the null space of a matrix by using the singular value decomposition or SVD. The matrix dX.sup.T is decomposed as dxT=U.SIGMA.V.sup.T, where U and V are orthogonal matrices, and Z is a diagonal matrix of the singular values of dX.sup.T arranged in decreasing order. Based on the singular values of the resulting matrix one can establish criteria to define the rank of the matrix in the presence of measurement noise. The null space of the matrix is simply the last column of V (associated with the smallest singular value). the singular values can also be used to test for small angle motion.
An alternative method of achieving the same result is to form a "covariance matrix" P=dxdX.sup.T from the Cartesian measurements. The ellipsoids described by the equation x.sup.T P.sup.-1 x=const are an approximation for the shape of the collection of Cartesian data points. The best estimate of X.sub.0 is then given by the eigenvalue of P associated with the smallest eigenvalue (the "flattest" dimension of an ellipsoid). This is equivalent to the null space solution of the SVD since the eigenvalues of P are the squares of the singular values of dx.sup.T.
Several methods are now presented for extending this theme to multiple baselines and different types of motion. For clarity, it is assumed that all baselines are orthogonal to one another but the techniques are easily) generalized to arbitrary baseline configurations.
One could simply neglect the interconnection between the separate baselines and find the null space for each baseline individually. However this approach discards useful information. The idea behind the methods presented is to take advantage of the correlation among motion of separate baselines rigidly constrained to one another.
Null Space Method
With three orthogonal (non-coplanar baselines and small angle motion about 2 or three axes it is possible to unambiguously determine attitude in a single step. This method is founded on the orthogonality and length constraint equations of the three baselines, EQU x1.sup.T x2=x1.sup.T x3=x2.sup.T x3=0 and EQU x1.sup.T x1=x2.sup.T x2=x3.sup.T x3=1.
Taking the derivative of these equations and combining them into a single matrix equation, ##EQU4##
Given the appropriate requisite motion the one dimensional matrix null space (the eigenaxis) exactly yields the three Cartesian vectors defining the three axis attitude. Applying the SVD this null space is most closely approximated by the ninth column of the V matrix.x.
After renormalizing the eigenaxis such that the magnitude of each vector is approximately unity the sign of the eigenaxis is resolved by imposing the correct "handedness" of the coordinate system. Were it not for measurement noise the matrix [x1 x2 x3] would be exactly the coordinate transformation from the body frame to the inertial frame. With measurement error, the elements will still be very close to forming an orthogonal set.
An equivalent formulation for two antennas is ##EQU5##
However the sign ambiguity of the result must be resolved by other means.
Null Space Complement Method
The complement of the null space spanned by the Cartesian measurements is decomposed, instead of using the null space to resolve the attitude. For the sake of illustration, assume that two orthogonal baselines are employed: ##EQU6##
The rationale behind this approach is that the cross terms in the "covariance matrix" such as dX.sub.1 dX.sub.2.sup.T, reveal the correlation among the measurements from different baselines. Once the subspace corresponding to attitude motion is found the next step is to further decompose the motion into components, especially about the baseline normal axis.
If the matrix is rank three, then there is sure to be a distinguishable motion about the axis normal to the baseline plane. The matrix V is partitioned as follows: ##EQU7## where Q.sub.1 and Q.sub.2 are both .times.3 matrices. The null space, Qnull, is discarded. Rotation along any of the axes represented in the data ma)x be formed with linear combinations, a, of the remaining columns: ##EQU8##
The problem is to determine which linear combination a of Ex and E corresponds to motion about the baseline normal. Rotation about the baseline normal axis is unique in that the displacement of each slave antenna is equally correlated with the other. However for each axis of rotation about any baseline the displacement of the other slave antenna is independent of the other. Therefore, the singular values of either Q1 or Q2 will take on values approximately 1, ##EQU9## , or 0, depending on whether the slave antenna motion is parallel to the baseline plane normal, about the baseline plane normal or non-existent respectively (corresponding to the motion of the other slave antenna).
With the SVD the matrix Q1 may be decomposed as Q.sub.1 =U.sub.1 .SIGMA..sub.1 V.sub.1.sup.T. The appropriate value of a is the column of Q.sub.1 corresponding to the singular value nearest ##EQU10## (Since V is orthogonal, the singular values of Q1 and Q2 are related by .sigma..sub.Q1 =1-.sigma..sub.Q2.)
The resulting vector formed by [dx.sub.2.sup.T dx.sub.1.sup.T].sup.T contains all the information (subject to a sign ambiguity) to piece together the three axis attitude of the platform.
Single Axis Rotation Solution
In cases where the platform is rotated through a small angle about a single axis there may still be candidate solutions available. The Cartesian displacement vectors dx.sub.1 and dx.sub.2 are measured at a single time from two baselines. Three regions are defined which indicate how much meaningful information arises from rotation about a given axis. The rotation axis in the inertial frame is given by the cross product of dx.sub.1 and dx.sub.2. One can solve analytically for the baseline vectors x.sub.1 and x.sub.2 matching the data and satisfying, EQU x.sub.1.sup.T x.sub.1 =1, x.sub.2.sup.T x.sub.2 =1, and x.sub.1.sup.T x.sub.2 =0.
With the rotation axis in a first region, the cross product is poorly defined and the rotation angle about the baseline plane becomes difficult to resolve. With the rotation axis in a second region, the baseline plane orientation is difficult to resolve although the angle of rotation about the baseline plane normal is easily resolved. In a third region, the complete three-axis attitude is resolvable, subject to a multiplicity of solutions. There are four possible solutions for every set of inputs. Therefore the three "image" solutions must be detected and discarded.
The cross product solution for two baselines can be generalized to any number and relative orientation of baselines. The directions of motion of each baseline must necessarily lie in the same plane for any rotation. Therefore the null space of the collection of dx measurements taken at a single time for all the baselines, ##EQU11## corresponds to the axis of rotation. Again, the singular value decomposition is used to find the null space.
Solution Refinement
Any mathematical formulation of rotation is inherently non-linear. Once initial guesses have been calculated based on the methods described above it is useful to iteratively refine the solution with a full non-linear model not only to weed out image solutions but also obtain the highest accuracy possible. Experimental testing of these techniques on actual receiver data indicates that integers can be resolved with just a few degrees of platform motion.
Bandwidth Performance
GPS differential phase measurements possess phenomenal potential for high bandwidth operation. The focus of this section is on differential phase tracking and the factors establishing the limits of performance. Experiments have been performed with signal processing loops that indicate potential bandwidth on the order of one KHz.
Differential Phase Tracking
The heart of a differential phase receiver is the signal processing loop. Carrier phase measurements are inherently noisy. Phase is represented by position along a circle. The carrier tracking error of the master antenna signal can be driven to zero while the phase of the slave antenna moves with respect to that of the master. The gaussian measurement noise is depicted both by error bars and a probability distribution function. By processing the raw measurements with an optimal estimator the bandwidth for sensing platform dynamics is maximized.
Such a loop architecture is described, for example, by Franklin, Powell, and Workman. The second order estimator is designed to estimate differential phase and phase rate. To derive maximum benefit from signal processing, the estimation loop also keeps track of integer wrap-arounds. Once the integers are known, the signal processor only needs to "hang on" to the differential phase during dynamics.
The tracking loop bandwidth is chosen based upon the expected platform dynamics. Then the optimal gain matrix L is calculated from the algebraic Ricatti equation. A machine code implementation of this filter on a 6809 microprocessor runs quite comfortably at a 1 KHz sampling rate. The experimental data includes both raw and filtered measurements. The differential phase rate of roughly three m/s corresponds to a formidable attitude rate even at baselines on the order of meters.
The GPS data bits hint at a key performance advantage of direct measurement of differential phase. In other forms of GPS operation the carrier tracking loop bandwidth cannot be easily set faster than the 50 bps data stream because the loop would begin to follow the 180 degree phase shifts of the data itself. This limitation does not apply to attitude determination because sign changes affect the carrier identically at each antenna.
This potential for high bandwidth operation also points to another key operational advantage. Since attitude may be decoupled from translation the tracking loop bandwidths for rotational and translational motion can be chosen independently to suit their respective dynamics.
High Performance Receiver Architecture
The performance capability of differential phase tracking naturally suggests a software architecture for computing the complete attitude solutions. In an architecture founded on integer tracking signal processors and high speed output rates, at start-up, the integer resolution block solves for the integer offset errors and corrects the signal processors accordingly. Once the integers are resolved attitude solutions are computed by the Kalman filter block.
High speed attitude solution output commensurate with the output rate of the signal processor is possible by linearizing the system about a nominal operating point. The vector z of filtered differential measurements may be expanded about the nominal attitude state vector, x.sub.0, in terms of the linearized observation matrix, H: EQU z=z.sub.0 +H(x-x.sub.0) .
Then, for attitudes near the nominal operating point the complete attitude solution can be expressed in terms of a pseudo-inverse matrix multiply: EQU x=x.sub.0 +H.sup.t (z-z.sub.0), where H.sup.t =(H.sup.T H).sup.-1 H.sup.T.
Thus the "fast" attitude output fills in for the Kalman filter block between its less frequent executions.
In FIG. 1, the error sources limiting performance are compiled into a single set of curves which collectively define the performance of GPS-based attitude determination. Label "A" represents a one meter surface vehicle, label "B" is for a one meter spacecraft/multipath calibration, and "C" is for a ten meter aircraft. Two limiting error sources are at the foundation of performance, (1) carrier-to-noise ratio, and (2) multipath. Each of these error sources is treated in terms of carrier tracking error (pointing error .sigma..sub.74). The white noise on a reconstructed carrier dictates the differential range measurement error, ##EQU12## whereby f.sub.N is the noise bandwidth of the carrier tracking loop and C/N.sub.o is the carrier-to-noise ratio.
Multipath error is conservatively modeled as a constant differential range error which is independent of the tracking loop bandwidth. Multipath is almost always a function of geometry. Therefore, it can be modulated by attitude motion. Empirical studies indicate that a value of .sigma..sub.r, for a multipath of about five millimeters RMS (ten degrees of phase), is appropriate for difficult multipath environments (e.g., those rich in reflecting objects). The reduction of .sigma..sub.r occurring for slower dynamics is neglected.
The two error sources can be combined (as "RSS") to provide an estimate of the total differential phase tracking error. A conservative estimate will not take into account the improvement in accuracy from multiple measurements taken with additional base-lines and satellites. In a nominal performance curve along with the constituent multipath and C/N.sub.o lines, a crossover occurs at the noise bandwidth, where one or the other principal error sources dominates. A practical limit of bandwidth is imposed by the carrier loop lock threshold (see FIG. 1). Above this limit, the accuracy of the phase measurements is judged too poor to hold lock effectively. The multipath curve indicates the effect of antenna pattern shaping or multipath calibration on differential range measurement accuracy. If multipath error is reduced to 0.5 mm RMS (one degree of phase), the cross-over occurs at a lower noise bandwidth, resulting in superior accuracy.